package com.icedevcloud.upms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.icedevcloud.common.core.page.PageResult;
import com.icedevcloud.upms.api.dict.dto.DictSimpleResDto;
import com.icedevcloud.upms.controller.admin.dict.dto.AddDictReqDto;
import com.icedevcloud.upms.controller.admin.dict.dto.DictPageReqDto;
import com.icedevcloud.upms.controller.admin.dict.dto.UpdateDictReqDto;
import com.icedevcloud.upms.entity.SysDict;

import java.util.List;

/**
 * <p>
 * 字典表 服务类
 * </p>
 *
 * @author XiaoBingBy
 * @since 2023-08-13
 */
public interface ISysDictService extends IService<SysDict> {

    /**
     * 字典列表接口
     *
     * @param reqDto
     * @return
     */
    PageResult<SysDict> dictPage(DictPageReqDto reqDto);

    /**
     * 添加字典接口
     *
     * @param reqDto
     * @return
     */
    Boolean add(AddDictReqDto reqDto);

    /**
     * 更新字典接口
     *
     * @param reqDto
     * @return
     */
    Boolean update(UpdateDictReqDto reqDto);

    /**
     * 删除字典接口
     *
     * @param id
     * @return
     */
    Boolean delete(Long id);

    /**
     * 根据字典类型获取字典
     *
     * @param dictType
     * @return
     */
    List<DictSimpleResDto> getDictByDictType(String dictType);


    /**
     * 根据字典类型和字典编码获取字典
     *
     * @param dictType
     * @param dictCode
     * @return
     */
    DictSimpleResDto getDictByDictTypeAndDictCode(String dictType, String dictCode);


}
